// // interface IPerson {
// //     name: string;
// //     age: number;
// // }
// const sem = { name: "semlinker", age: 30 };
// type Sem = typeof sem; // type Sem = Person

// const m: Sem = { name: "xiaofei", age: 1 }

// function toArray(x: number): Array<number> {
//     return [x];
// }
// type Func = typeof toArray; // -> (x: number) => number[]


// const obj = {
//     name: '测试',
//     id: 1,
//     children: {
//         name: '测试-子',
//         id: 2
//     }
// }
// type newValue = typeof obj
// type ObjType = {
//     [key in keyof typeof obj]: typeof obj[key]
// }


function getValues<T>(person: T){
    for (const key in person) {
        console.log(person[key]);
    }
}

interface Person {
    name: string;
    age: number;
}

const person: Person = {
    name: 'musion',
    age: 35
}

getValues(person) // ['musion']
